package com.ifengxue.ioc.util;

import javax.annotation.Nonnull;
import java.io.File;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;

/**
 * 文件工具类
 */
public class FileUtil {
    /**
     * 列出所有的文件
     * @param directory
     * @return
     */
    public static List<File> listFiles(@Nonnull String directory) {
        List<File> files = new LinkedList<>();
        File directoryFile = new File(directory);
        File[] listFiles = directoryFile.listFiles();
        if (listFiles == null) {
            return Collections.emptyList();
        }
        for (File file : listFiles) {
            if (file.isFile()) {
                files.add(file);
            } else {
                files.addAll(listFiles(file.getPath()));
            }
        }
        return files;
    }
}
